package yb.ecp.fast.user.manager;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * 登录验证码管理类
 * Created by john on 2017/11/18.
 */
@Component
public class AuthInfoManager {
    @Autowired
    private StringRedisTemplate redisTemplate;

    /**
     * 保存验证码，有效时间为60秒
     *
     * @param authId
     * @param text
     */
    public void savAuthKaptcha(String authId, String text) {
        redisTemplate.opsForValue().set(authId, text, 60, TimeUnit.SECONDS);
    }

    /**
     * 获取并且删除验证码（认为验证码已经被使用过）
     *
     * @param authId
     * @return
     */
    public String getVerifyCode(String authId) {
        String verifyCode = redisTemplate.opsForValue().get(authId);
        redisTemplate.delete(authId);
        return verifyCode;
    }

    /**
     * 获取验证码
     *
     * @param authId
     * @return
     */
    public String getRedisCode(String authId) {
        return redisTemplate.opsForValue().get(authId);
    }
}
